package com.heima.mapper;

import com.heima.pojo.Emp;
import com.heima.pojo.EmpQueryParam;
import com.heima.pojo.LogInfo;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

@Mapper
public interface EmpMapper {
// /**
////     * 查询所有员工,及其对应部门的名称
////     */
////                            //这里不起这个别名就没办法找到数据库中的deptName
////    @Select("select e.*,d.name deptName from emp as  e left join dept as d on e.dept_id=d.id limit #{start},#{pageSize}")
////    public List<Emp> list(Integer start, Integer pageSize);
////
////    /**
////     * 获取员工总数量
////     * @return
////     */
////    @Select("select count(*) from emp")
////    long count();
//
//    /**
//     * 引入自动分页插件后,查所有的员工及其对应部门
//     */
////这里查到的是全部数据,
////    @Select("select  e.*,d.name deptName from emp as e left join dept as d  on e.dept_id=d.id")
     List<Emp> list(EmpQueryParam param);

     /**
      * 添加员工数据
      * @param emp
      */
     void add(Emp emp);

     /**
      * delete from emp where id in (1,2,3,4,5)
      * @param ids
      */
     void delete(List<Integer>ids);

     /**
      * 根据员工id获取员工对象
      * @param id
      * @return
      */

     Emp get(Integer id);

     /**
      * 更新员工表
      * @param emp
      */
     void updateById(Emp emp);

     /**
      * 统计所有职位的人数
      * @return
      */
     @MapKey("pos")
     public List<Map<String,Object>> countEmpJobData();
     @MapKey("name")
     List<Map> getSexData();

     /**
      * 通过用户名和密码查询对象
      * @param emp
      * @return
      */
     @Select("select * from emp where username=#{username} and password=#{password}")
     LogInfo getEmpbyNameAndPassword(Emp emp);
}
